package com.soo.hoo.admin.service;

import com.soo.hoo.admin.model.entity.SysUserRole;
import com.soo.hoo.core.service.IService;

import java.util.Collection;
import java.util.List;

/**
 * <p>用户角色关联服务</p>
 *
 * @author 杨燚
 * @since 2023/4/23
 */
public interface UserRoleService extends IService<SysUserRole> {

    /**
     * 保存用户与角色的关联信息
     *
     * @param userId  用户id
     * @param roleIds 角色id列表
     */
    void saveRelevance(Long userId, List<Long> roleIds);

    /**
     * 通过用户id删除关联信息
     *
     * @param userId 用户id
     */
    void deleteByUserId(Long userId);

    /**
     * 通过用户id查找用户与角色的关联信息
     *
     * @param userIds 用户id
     * @return 用户角色关联信息
     */
    List<SysUserRole> listByUserIds(Collection<?> userIds);
}
